Собрали для вас мероприятия для нетворкинга, обмена опытом и не только.
2 июня в Москве пройдёт юбилейная KnowledgeConf — крупнейшая российская конференция о корпоративной памяти, внутреннем обучении и обмене знаниями в IT.
С 20 по 22 июня в эко-парке «Русский берег» (Ульяновская область) состоится пятая антиконференция Summer Merge — событие для IT-специалистов, уставших от офисной рутины.
Вместо традиционных докладов — мастер-классы по soft skills, эмоциональному интеллекту, управлению командами и борьбе с выгоранием.
Мероприятие для тимлидов, руководителей команд и технических менеджеров, стремящихся развивать лидерские навыки и обмениваться опытом управления командами. Пройдёт 26-27 июня в Санкт-Петербурге.
Please open Telegram to view this post
VIEW IN TELEGRAM
Проблема: стандартные массивы для очереди могут привести к необходимости дорогостоящих операций сдвига элементов при удалении.
Решение: в книге Algorithms and Data Structures for OOP With C# автор предлагает реализовать очередь на основе связного списка, что позволяет эффективно добавлять элементы в конец и удалять с начала за O(1).
Пример кода:
public class Node<T>
{
public T Data;
public Node<T> Next;
public Node(T data)
{
Data = data;
Next = null;
}
}
public class QueueLinkedList<T>
{
private Node<T> front, rear;
public QueueLinkedList()
{
front = rear = null;
}
public void Enqueue(T item)
{
var newNode = new Node<T>(item);
if (rear == null)
{
front = rear = newNode;
return;
}
rear.Next = newNode;
rear = newNode;
}
public T Dequeue()
{
if (front == null)
throw new InvalidOperationException("Queue is empty.");
var data = front.Data;
front = front.Next;
if (front == null)
rear = null;
return data;
}
}
Преимущества:
— Нет затрат на сдвиг элементов
— Высокая производительность при операциях добавления и удаления
— Универсальная реализация для любых типов данных
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯 Почему на собеседованиях в топовые компании проваливаются даже опытные разработчики
Проблема большинства программистов: вы отлично пишете код, знаете фреймворки и можете разобраться в любом проекте. Но когда интервьюер просит найти кратчайший путь в графе или отсортировать массив за O(n log n) — ступор.
Чтобы не теряться на базовых вопросах, приходите на курс «Алгоритмы и структуры данных».
Тем более, что мы дарим на него промокод PROGLIBAI на 10 000 ₽ в честь запуска другого курса — «AI-агенты для DS-специалистов».
🧐 Что будет на курсе по алгоритмам:
— Изучение производительности алгоритмов и O-нотации
— Числовые алгоритмы: от алгоритма Эвклида до решета Эратосфена
— Работа с массивами: от линейного поиска до оптимизации операций вставки/удаления
— Бинарный поиск и его применение в реальных задачах
— Практические задачи на каждую тему + обратная связь от преподавателей
После курса вы перестанете бояться алгоритмических секций на собеседованиях и сможете претендовать на позиции в топовых компаниях.
👉 Успейте использовать промокод до 1 июня: https://clc.to/590e_g
Проблема большинства программистов: вы отлично пишете код, знаете фреймворки и можете разобраться в любом проекте. Но когда интервьюер просит найти кратчайший путь в графе или отсортировать массив за O(n log n) — ступор.
Чтобы не теряться на базовых вопросах, приходите на курс «Алгоритмы и структуры данных».
Тем более, что мы дарим на него промокод PROGLIBAI на 10 000 ₽ в честь запуска другого курса — «AI-агенты для DS-специалистов».
🧐 Что будет на курсе по алгоритмам:
— Изучение производительности алгоритмов и O-нотации
— Числовые алгоритмы: от алгоритма Эвклида до решета Эратосфена
— Работа с массивами: от линейного поиска до оптимизации операций вставки/удаления
— Бинарный поиск и его применение в реальных задачах
— Практические задачи на каждую тему + обратная связь от преподавателей
После курса вы перестанете бояться алгоритмических секций на собеседованиях и сможете претендовать на позиции в топовых компаниях.
👉 Успейте использовать промокод до 1 июня: https://clc.to/590e_g
API — ключевой элемент взаимодействия между приложениями, но при этом часто становится уязвимым звеном в системе безопасности.
Что необходимо для надежной защиты API:
1. Аутентификация и контроль доступа
Эффективные механизмы проверки пользователей и управление правами доступа — фундамент для предотвращения несанкционированного доступа.
Современные решения, такие как OAuth 2.0 и JWT, позволяют точно определить пользователя и ограничить его возможности, снижая риски взлома.
2. Применение HTTPS
Шифрование трафика с помощью HTTPS обеспечивает конфиденциальность данных при передаче, защищая их от перехвата и подмены.
Эти два пункта — основа минимальной защиты API. В статье рассмотрели остальные аспекты, которые помогут сделать разработку безопасной и предотвратить финансовые потери из-за уязвимостей.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😱 Вся правда об увольнениях в IT в 2025-м
Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.
Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:
— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы
Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.
⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.
Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:
— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы
Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.
⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 Обходимся без полноценного проекта
В последнем обновлении .NET 10 Preview 4 появилась новая удобная функция — возможность запускать одиночные C#-файлы напрямую, без необходимости создавать полноценный проект.
Теперь достаточно иметь только файл с кодом, например app.cs, и выполнить команду:
.NET SDK автоматически обработает файл и запустит программу
• Используйте #:package для подключения NuGet-пакетов, #:sdk для выбора SDK, и #:property для настройки параметров сборки.
• В начале файла можно добавить
• Если скрипт разрастается, его можно быстро преобразовать в полноценный проект с помощью команды:
Эта фича делает C# более гибким и современным языком, способным конкурировать с популярными скриптовыми решениями.
🐸 Библиотека шарписта #буст
В последнем обновлении .NET 10 Preview 4 появилась новая удобная функция — возможность запускать одиночные C#-файлы напрямую, без необходимости создавать полноценный проект.
Теперь достаточно иметь только файл с кодом, например app.cs, и выполнить команду:
dotnet run app.cs
.NET SDK автоматически обработает файл и запустит программу
• Используйте #:package для подключения NuGet-пакетов, #:sdk для выбора SDK, и #:property для настройки параметров сборки.
• В начале файла можно добавить
#!/usr/bin/dotnet run
, чтобы запускать скрипт как исполняемый файл в linux.• Если скрипт разрастается, его можно быстро преобразовать в полноценный проект с помощью команды:
dotnet project convert app.cs
Эта фича делает C# более гибким и современным языком, способным конкурировать с популярными скриптовыми решениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👾 AI-агенты — настоящее, о котором все говорят
На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉
Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи!
На обучении вы соберете полноценные LLM-системы с учётом особенностей доменных областей, получите hands-on навыки RAG, Crew-AI / Autogen / LangGraph и агентов.
🎓 В рамках курса вы научитесь:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой
Разберете реальные кейсы и научитесь применять похожие подходы в разных доменных областях, получите фундамент для уверенного прохождения NLP system design интервью и перехода на следующий грейд.
Старт 5 июля, а при оплате до 1 июня действует дополнительная скидка и бонус — эксклюзивный лонгрид по API и ML от Proglib.
Начните осваивать тему уже сейчас 👉 https://clc.to/Cttu7A
На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉
Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи!
На обучении вы соберете полноценные LLM-системы с учётом особенностей доменных областей, получите hands-on навыки RAG, Crew-AI / Autogen / LangGraph и агентов.
🎓 В рамках курса вы научитесь:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой
Разберете реальные кейсы и научитесь применять похожие подходы в разных доменных областях, получите фундамент для уверенного прохождения NLP system design интервью и перехода на следующий грейд.
Старт 5 июля, а при оплате до 1 июня действует дополнительная скидка и бонус — эксклюзивный лонгрид по API и ML от Proglib.
Начните осваивать тему уже сейчас 👉 https://clc.to/Cttu7A
proglib.academy
Курс|AI-агенты для DS-специалистов
На курсе ты разберёшься, как работают AI-агенты и как их применять в работе — от текстовых помощников до систем, помогающих принимать решения. Разберем архитектуру агентов, связку с внешними API, пайплайны действий и популярные библиотеки. Курс включает реальные…
Библиотека шарписта | C#, F#, .NET, ASP.NET pinned «👾 AI-агенты — настоящее, о котором все говорят На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉 Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи! На обучении вы соберете полноценные…»
🎮 На чём сделать свою игру
Выбор движка — это не просто технический вопрос, а религия в игровом сообществе. Давайте разложим по косточкам:
• Unity
Unity — это движок для тех, кто хочет делать «быстро и дешево». Мобильные казуалки, инди-игры с минимальными амбициями и куча говнокода на C#.
Да, куча ассетов в магазине, но сколько из них реально работают без багов? Производительность? Если игра стала чуть сложнее — забудьте, начнутся лаги и вырвиглазные оптимизации.
• Unreal Engine
Это топ для настоящих профи. Если вы хотите AAA, фотореализм и не боитесь учить C++ — вам сюда. Nanite, Lumen — это не просто красивые слова, а революция в графике.
Но готовьте мощные компы и время на изучение. Мобильные проекты? Забудьте, UE5 не для них. И да, роялти потом заберут половину вашего бабла.
• Godot
Godot — бесплатный и открытый движок, который любят энтузиасты и начинающие. Отлично для 2D и небольших 3D проектов, но забудьте про серьёзный AAA.
Пока что это скорее игрушка для хобби, чем инструмент для серьезных денег.
💬 Пишете ли вы игры? Какой движок вам по душе? Ждём ваше мнение в комментариях 👇
🐸 Библиотека шарписта #междусобойчик
Выбор движка — это не просто технический вопрос, а религия в игровом сообществе. Давайте разложим по косточкам:
• Unity
Unity — это движок для тех, кто хочет делать «быстро и дешево». Мобильные казуалки, инди-игры с минимальными амбициями и куча говнокода на C#.
Да, куча ассетов в магазине, но сколько из них реально работают без багов? Производительность? Если игра стала чуть сложнее — забудьте, начнутся лаги и вырвиглазные оптимизации.
• Unreal Engine
Это топ для настоящих профи. Если вы хотите AAA, фотореализм и не боитесь учить C++ — вам сюда. Nanite, Lumen — это не просто красивые слова, а революция в графике.
Но готовьте мощные компы и время на изучение. Мобильные проекты? Забудьте, UE5 не для них. И да, роялти потом заберут половину вашего бабла.
• Godot
Godot — бесплатный и открытый движок, который любят энтузиасты и начинающие. Отлично для 2D и небольших 3D проектов, но забудьте про серьёзный AAA.
Пока что это скорее игрушка для хобби, чем инструмент для серьезных денег.
💬 Пишете ли вы игры? Какой движок вам по душе? Ждём ваше мнение в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Полезные хоткеи ReSharper
Если вы разрабатываете на C# и до сих пор не используете ReSharper, скорее всего, вы пишете код медленнее, чем могли бы. Сейчас покажем фишки, из-за которых вы точно захотите им пользоваться.
• Ctrl + Shift + R — показывает возможные варианты рефакторинга для текущего элемента.
• Ctrl + Alt + Shift + T — показывает все преобразования кода, например, замена if на switch или foreach на LINQ
• Ctrl + Shift + Alt + U — покажет путь значения переменной по коду: присваивания, параметры, вызовы — визуально и пошагово.
• Добавьте в проект
💬 Какие фишки ReSharper нравятся вам? Делитесь в комментах 👇
🐸 Библиотека шарписта #буст
Если вы разрабатываете на C# и до сих пор не используете ReSharper, скорее всего, вы пишете код медленнее, чем могли бы. Сейчас покажем фишки, из-за которых вы точно захотите им пользоваться.
• Ctrl + Shift + R — показывает возможные варианты рефакторинга для текущего элемента.
• Ctrl + Alt + Shift + T — показывает все преобразования кода, например, замена if на switch или foreach на LINQ
• Ctrl + Shift + Alt + U — покажет путь значения переменной по коду: присваивания, параметры, вызовы — визуально и пошагово.
• Добавьте в проект
[NotNull]
, [CanBeNull]
, [Pure]
и другие атрибуты — и ReSharper станет умнее: подскажет про возможные NullReferenceException
, излишние проверки, и даже оптимизацию кода.💬 Какие фишки ReSharper нравятся вам? Делитесь в комментах 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Linux теперь в Telegram!
Ребята сделали крутейший канал про Linux, где на простых картинках и понятном языке обучают работе с этой ОС, делятся полезными фишками и инструментами
Подписывайтесь: @linuxos_tg
Ребята сделали крутейший канал про Linux, где на простых картинках и понятном языке обучают работе с этой ОС, делятся полезными фишками и инструментами
Подписывайтесь: @linuxos_tg
📰 Идеальная пара для .NET-разработки
JetBrains объявила о выпуске ReSharper для Visual Studio Code — долгожданного расширения, которое приносит все ключевые возможности в VS Code.
🚀 Как начать
1. Установите расширение из магазина расширений.
2. Откройте решение .sln в VS Code.
3. Дайте ReSharper время проиндексировать проект и сразу используйте возможности анализа и рефакторинга.
Не упустите шанс принять участие в публичном превью — пока расширение доступно бесплатно!
🐸 Библиотека шарписта #свежак
JetBrains объявила о выпуске ReSharper для Visual Studio Code — долгожданного расширения, которое приносит все ключевые возможности в VS Code.
🚀 Как начать
1. Установите расширение из магазина расширений.
2. Откройте решение .sln в VS Code.
3. Дайте ReSharper время проиндексировать проект и сразу используйте возможности анализа и рефакторинга.
Не упустите шанс принять участие в публичном превью — пока расширение доступно бесплатно!
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Контроль объема логов в .NET-приложениях
В больших приложениях поток логов может быть огромным — это перегружает хранилище и снижает производительность.
Полное отключение детальных логов — плохое решение, ведь важные данные могут потеряться. Лучше использовать выборочное логирование.
.NET теперь поддерживает несколько стратегий выборочного логирования:
• Случайная выборка по вероятности
• Выборка по трассировке
• Пользовательские сэмплеры для гибкой настройки
Пример простого пользовательского сэмплера для .NET, который ограничивает вывод логов до примерно 1 сообщения в секунду:
Это может снизить затраты на хранение и обработку логов без потери ключевой информации.
➡️ Блог разработчиков .NET
🐸 Библиотека шарписта #буст
В больших приложениях поток логов может быть огромным — это перегружает хранилище и снижает производительность.
Полное отключение детальных логов — плохое решение, ведь важные данные могут потеряться. Лучше использовать выборочное логирование.
.NET теперь поддерживает несколько стратегий выборочного логирования:
• Случайная выборка по вероятности
• Выборка по трассировке
• Пользовательские сэмплеры для гибкой настройки
Пример простого пользовательского сэмплера для .NET, который ограничивает вывод логов до примерно 1 сообщения в секунду:
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
{
var key = eventId.Id.ToString();
var now = DateTime.UtcNow;
var lastTime = _lastLoggedTimes.GetOrAdd(key, DateTime.MinValue);
if ((now - lastTime) >= _interval)
{
_lastLoggedTimes[key] = now;
var message = formatter(state, exception);
Console.WriteLine($"[{now:O}] {logLevel}: {message}");
// Здесь вместо Console.WriteLine — вызов реального логгера
}
else
{
// Пропускаем лог, чтобы не создавать слишком много записей
}
}
Это может снизить затраты на хранение и обработку логов без потери ключевой информации.
Please open Telegram to view this post
VIEW IN TELEGRAM